# 
# Created with PyCharm.
# Description :
# User: jiume
# Date: 2024-10-15
# Time: 8:27
#
import random

# list = ['Hello', 'World']
# print(list) # 输出为 ['Hello', 'World']
# # 增加元素
# list.append('Python')
# print(list) # 输出为 ['Hello', 'World', 'Python']
#
# # 在列表的1位置插入元素
# list.insert(1,'Java')
# print(list) # 输出为 ['Hello', 'Java', 'World', 'Python']
#
# # 将列表中第1个元素取出，并删除
# pop = list.pop(1)
# print(pop) # 输出为 Java
# print(list) # 输出为 ['Hello', 'World', 'Python']
#
# # 将列表中出现的第一个"World"删除
# remove = list.remove('World')
# print(remove) # 输出为 None --> 这里可以看出和pop方法的区别了
# print(list) # 输出为 ['Hello', 'Python']
#
# #  将列表的元素进行反转
# list.reverse()
# print(list) # 输出为 ['Python', 'Hello'] --> 是对元素位置反转，而不会对元素进行内部修改
#
# # 拷贝原列表
# copy_list = list.copy()
# print(copy_list) # 输出为 ['Python', 'Hello']
#
# # 清空列表
# list.clear()
# print(list) # 输出为 [] --> 空列表

# list = ['Hello', 'World']
# print(list) # 输出为 ['Hello', 'World']
# list[1] = 'Python'
# print(list) # 输出为 ['Hello', 'Python']

# # 对数字进行排序
# list = [1,100,2,200]
# print('排序前：',list) # 输出为 排序前： [1, 100, 2, 200]
# list.sort() # 默认的规则，默认是升序
# print('排序后：',list) # 输出为 排序后： [1, 2, 100, 200]
#
# # 对英文单词进行排序
# list = ['Hello', 'World', 'java', 'mysql','OS']
# print('排序前：',list) # 输出为 排序前： ['Hello', 'World', 'java', 'mysql', 'OS']
# list.sort() # 默认的规则，默认是升序
# print('排序后：',list) # 排序后： ['Hello', 'OS', 'World', 'java', 'mysql']
#
# # 对汉字进行排序
# list = ['我','要','学','编','程']
# print('排序前：',list) # 输出为 排序前： ['我', '要', '学', '编', '程']
# list.sort() # 默认的规则，默认是升序
# print('排序后：',list) # 排序后： ['学', '我', '程', '编', '要']
#
# # 对三者进行混合排序
# list = ['编','程','python','Java',100,3]
# print('排序前：',list) # 输出为 排序前： ['我', '要', '学', '编', '程']
# list.sort() # 因为这里同时存在整数类型和字符串类型的元素，无法进行比较排序，所以会报错
# print('排序后：',list)

# # 忽略大小写比较排序
# list = ['Hello', 'World', 'java', 'mysql','OS']
# print('排序前：',list) # 输出为 排序前： ['Hello', 'World', 'java', 'mysql', 'OS']
#
# list.sort(key=str.lower) # 忽略大小写比较，默认是升序
# print('排序后：',list) # 排序后：['Hello', 'java', 'mysql', 'OS', 'World']
#
# list.sort(key=str.upper,reverse=True) # 忽略大小写比较，降序排序
# print('排序后：',list) # 排序后：['World', 'OS', 'mysql', 'java', 'Hello']

# list = [1,100,2,200]
# asc_list = sorted(list) # 默认的排序规则，默认是升序
# print('原列表：',list) # 输出为 原列表： [1, 100, 2, 200]
# print('新列表：',asc_list) # 输出为 新列表： [1, 2, 100, 200]

# # 列表生成式
# list = [item for item in range(1,11)] # 列表中是[1,10]的元素
# print(list) # 输出为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#
# list = [item*item for item in range(1,10) if item % 2 == 0] # 列表中是[1,9]之间，偶数的乘积
# print(list) # 输出为 [4, 16, 36, 64]

# list = [random.randint(1,100) for _ in range(10)]
# print(list)

# # 二维列表
# list = [
#     ['name', 'age', 'gender'],
#     ['张三', 19, '男'],
#     ['小玉', 20, '女'],
#     ['老爹', 58, '男']
# ]
# print(list)

# # 遍历二维列表
# list = [
#     ['姓名','年龄','性别'],
#     ['张三', 19, '男'],
#     ['小玉', 20, '女'],
#     ['老爹', 58, '男']
# ]
# for row in range(0,len(list)):
#     for col in range(0, len(list[row])):
#         print(list[row][col],end='  ')
#     print()
#
# for row in list:
#     for col in row:
#         print(col,end='  ')
#     print()

# # 列表生成式：生成二维列表
# list = [[i for i in range(1,6)] for _ in range(3)]
# for row in list:
#     for col in row:
#         print(col,end='\t')
#     print()